A cluster system comprises a master system controlling a set of worker systems. A user system issues a job to the master system, which breaks it into tasks that can be executed in parallel by the worker systems. Each of the worker systems typically holds a portion of a shared data set that the job operates on. The worker executes its task on its portion of the shared data set, or retrieves other portions of the shared data set from other worker systems, if necessary. The interaction between the user system and the master system is carried out within an environment on the master system. The environment comprises a local state including local variables that are referenced when defining jobs.